home *** CD-ROM | disk | FTP | other *** search
- /* $Revision Header *** Header built automatically - do not edit! ***********
- *
- * (C) Copyright 1993 by Amit Fridman
- *
- * Name .....: FBase.c
- * Created ..: Tuesday 14-Dec-93 11:41:37
- * Revision .: 5
- *
- * Date Author Comment
- * ========= ==================== ====================
- * 13-May-94 Amit Fridman v1.05 Preliminary release
- * 15-Apr-94 Amit Fridman v1.04 Beta version complete
- * 24-Mar-94 Amit Fridman v1.03 Added Keys
- * 24-Feb-94 Amit Fridman v1.02
- * 07-Jan-94 Amit Fridman v1.01
- * 14-Dec-93 Amit Fridman Created this file!
- *
- * $Revision Header ********************************************************/
- #define REVISION 5
-
- /* FBase user interface */
-
- #include "FBase.h"
- #include "Protos.h"
-
- LONG __stack = 8192;
-
- #define VSPACER(x) MUI_NewObject(MUIC_Rectangle,MUIA_HorizWeight,0,MUIA_VertWeight,x,TAG_DONE)
- #define KeyButtonH(name,key,node)\
- TextObject,\
- ButtonFrame,\
- MUIA_Text_Contents, name,\
- MUIA_Text_PreParse, "\33c",\
- MUIA_Text_HiChar , key,\
- MUIA_ControlChar , key,\
- MUIA_InputMode , MUIV_InputMode_RelVerify,\
- MUIA_Background , MUII_ButtonBack,\
- MUIA_HelpNode , node,\
- End
-
- enum {
- ID_DUMMY,
- ID_NEW,ID_OPEN,ID_SAVE,ID_SAVEAS,ID_PRINT_ALL,ID_PRINT_TITLES,ID_ABOUT,
- ID_READ,ID_VIEW,ID_EDIT,ID_KILL,
- ID_FIND,
- ID_KEYS,
- ID_DISK,
- ID_DELETE,ID_RENAME,ID_REMARK,ID_RKEYS,ID_CONTENTS_OK,ID_CONTENTS_CANCEL,
- ID_VIEW_SELECT,ID_VIEW_CANCEL,
- ID_FINFO_CANCEL,
- ID_RENAME_OK,ID_RENAME_CANCEL,
- ID_REMARK_OK,ID_REMARK_CANCEL,
- ID_MATCH,ID_SET_KEYS,ID_MATCH_OK,ID_MATCH_CANCEL,
- ID_FILES_SELECT,ID_FILES_CANCEL,
- ID_KEYS_ADD,ID_KEYS_DEL,ID_KEYS_NAME,ID_KEYS_CHANGE,ID_KEYS_OK,ID_KEYS_CANCEL,
- ID_KS_STOD,ID_KS_DTOS,ID_KS_CANCEL,
- ID_RK_STOD,ID_RK_DTOS,ID_RK_OK,ID_RK_CANCEL,
- ID_PRINT_CONTENTS,ID_PRINT_MATCH,ID_PRINT_FINFO,
- };
-
- struct NewMenu FBase_Menu[] =
- {
- {NM_TITLE,"Project" ,NULL,0,0,NULL},
- {NM_ITEM ,"New" ,"N" ,0,0,(APTR)ID_NEW},
- {NM_ITEM ,"Open ..." ,"O" ,0,0,(APTR)ID_OPEN},
- {NM_ITEM , NM_BARLABEL ,NULL,0,0,NULL},
- {NM_ITEM ,"Save" ,"S" ,0,0,(APTR)ID_SAVE},
- {NM_ITEM ,"SaveAs ..." ,NULL,0,0,(APTR)ID_SAVEAS},
- {NM_ITEM , NM_BARLABEL ,NULL,0,0,NULL},
- {NM_ITEM ,"Print" ,NULL,0,0,NULL},
- {NM_SUB ,"All" ,"P" ,0,0,(APTR)ID_PRINT_ALL},
- {NM_SUB ,"Titles" ,"T" ,0,0,(APTR)ID_PRINT_TITLES},
- {NM_ITEM , NM_BARLABEL ,NULL,0,0,NULL},
- {NM_ITEM ,"About" ,NULL,0,0,(APTR)ID_ABOUT},
- {NM_ITEM ,"Quit" ,"Q" ,0,0,(APTR)MUIV_Application_ReturnID_Quit},
- {NM_TITLE,"Action" ,NULL,0,0,NULL},
- {NM_ITEM ,"Read Floppy","R" ,0,0,(APTR)ID_READ},
- {NM_ITEM , NM_BARLABEL ,NULL,0,0,NULL},
- {NM_ITEM ,"View Floppy","V" ,0,0,(APTR)ID_VIEW},
- {NM_ITEM ,"Edit Floppy","E" ,0,0,(APTR)ID_EDIT},
- {NM_ITEM ,"Kill Floppy",NULL,0,0,(APTR)ID_KILL},
- {NM_ITEM , NM_BARLABEL ,NULL,0,0,NULL},
- {NM_ITEM ,"Find ..." ,"F" ,0,0,(APTR)ID_FIND},
- {NM_ITEM ,"Keys ..." ,"Y" ,0,0,(APTR)ID_KEYS},
- {NM_END ,NULL ,NULL,0,0,NULL}
- };
-
- struct NewMenu Contents_Menu[] =
- {
- {NM_TITLE,"Project",NULL,0,0,NULL},
- {NM_ITEM ,"Print" ,"P" ,0,0,(APTR)ID_PRINT_CONTENTS},
- {NM_TITLE,"Action" ,NULL,0,0,NULL},
- {NM_ITEM ,"Delete" ,"D" ,0,0,(APTR)ID_DELETE},
- {NM_ITEM ,"Rename" ,"R" ,0,0,(APTR)ID_RENAME},
- {NM_ITEM ,"Remark" ,"M" ,0,0,(APTR)ID_REMARK},
- {NM_ITEM ,"Keys" ,"K" ,0,0,(APTR)ID_RKEYS},
- {NM_END ,NULL ,NULL,0,0,NULL}
- };
-
- struct NewMenu Match_Menu[] =
- {
- {NM_TITLE,"Project",NULL,0,0,NULL},
- {NM_ITEM ,"Print" ,"P" ,0,0,(APTR)ID_PRINT_MATCH},
- {NM_END ,NULL ,NULL,0,0,NULL}
- };
-
- struct NewMenu FInfo_Menu[] =
- {
- {NM_TITLE,"Project",NULL,0,0,NULL},
- {NM_ITEM ,"Print" ,"P" ,0,0,(APTR)ID_PRINT_FINFO},
- {NM_END ,NULL ,NULL,0,0,NULL}
- };
-
-
- extern struct List FloppyList;
-
- struct Library *MUIMasterBase;
- Object *App;
- Object *WI_Main,*WI_Contents,*WI_View,*WI_Rename,*WI_Remark,*WI_Match;
- Object *WI_Files,*WI_Keys,*WI_KeySearch,*WI_RecKeys,*WI_FileInfo;
- Object *LV_Floppies,*LV_Contents,*LV_View,*LV_Files,*LV_FileKeys;
- Object *LV_Keys,*LV_KSSrc,*LV_KSDest,*LV_RKSrc,*LV_RKDest;
- Object *BT_Read,*BT_View,*BT_Edit,*BT_Kill,*BT_Find,*BT_Keys;
- Object *BT_Delete,*BT_Rename,*BT_Remark,*BT_RKeys,*BT_ConOK,*BT_ConCancel;
- Object *BT_KeySearch,*BT_MatchOK,*BT_MatchCancel;
- Object *BT_KeysAdd,*BT_KeysDel,*BT_KSSToD,*BT_KSDToS,*BT_RKSToD,*BT_RKDToS;
- Object *BT_RKOK,*BT_RKCancel;
- Object *BT_KeysOK,*BT_KeysCancel;
- Object *ST_Rename,*ST_Remark,*ST_Match,*ST_KeyName;
- Object *CM_Case,*CM_Dirs,*CM_Keys,*CM_KeyAnd;
- Object *CY_Disks;
- Object *TX_FileName,*TX_FileSize,*TX_FileRem;
- BOOL DataChanged=FALSE;
- char *CY_Labels[32];
-
-
- SAVEDS ASM long floppydispfunc(REG(a0) struct Hook *hook,REG(a2) char **array,REG(a1) FLOPPY *Floppy)
- {
- static char tx[80];
-
- sprintf(tx,"\33b%s:",Floppy->HeadRecord->FName);
- *array=tx;
- return(0);
- }
-
- static struct Hook FloppyDisplayHook = {
- {NULL,NULL},
- (void *)floppydispfunc,
- NULL,NULL
- };
-
- SAVEDS ASM long floppycmpfunc(REG(a0) struct Hook *hook,REG(a1) FLOPPY *f1,REG(a2) FLOPPY *f2)
- {
- return(stricmp(f1->HeadRecord->FName,f2->HeadRecord->FName));
- }
-
- static struct Hook FloppyCompareHook = {
- {NULL, NULL},
- (void *)floppycmpfunc,
- NULL, NULL
- };
-
- SAVEDS ASM long contentsdispfunc(REG(a0) struct Hook *hook,REG(a2) char **array,REG(a1) RECORD *Record)
- {
- static char tx[108],len[10],buf[108];
- static char space[]=" ";
-
- strncpy(tx,space,Record->Depth);
- tx[Record->Depth]=0;
- if (Record->Flags & RECORD_DIRECTORY) {
- sprintf(buf,"\33b%s",Record->FName);
- if (Record->Flags & RECORD_ROOT)
- strcpy(len,"\33b[root]");
- else
- strcpy(len,"\33b[dir]");
- } else {
- sprintf(buf,"%s",Record->FName);
- sprintf(len,"%ld",Record->Size);
- }
- strcat(tx,buf);
- *array++=tx;
- *array=len;
- return(0);
- }
-
- static struct Hook ContentsDisplayHook = {
- {NULL,NULL},
- (void *)contentsdispfunc,
- NULL,NULL
- };
-
- SAVEDS ASM long contentsmultifunc(REG(a1) RECORD *Record)
- {
- if (Record->Flags & RECORD_DIRECTORY)
- return(FALSE);
- else
- return(TRUE);
- }
-
- static struct Hook ContentsMultiHook = {
- {NULL,NULL},
- (void *)contentsmultifunc,
- NULL,NULL
- };
-
- SAVEDS ASM long filesdispfunc(REG(a0) struct Hook *hook,REG(a2) char **array,REG(a1) RECORD *Record)
- {
- static char tx[108],len[10];
-
- BuildName(Record,tx);
- if (Record->Flags & RECORD_DIRECTORY)
- len[0]=0;
- else
- sprintf(len,"%ld",Record->Size);
- *array++=tx;
- *array=len;
- return(0);
- }
-
- static struct Hook FilesDisplayHook = {
- {NULL,NULL},
- (void *)filesdispfunc,
- NULL,NULL
- };
-
-
- int CXBRK(void) { return(0); }
- int _CXBRK(void) { return(0); }
- void chkabort(void) {}
-
- static void fail(APTR app,char *str)
- {
- if (app)
- MUI_DisposeObject(app);
-
- if (MUIMasterBase)
- CloseLibrary(MUIMasterBase);
-
- if (str) {
- puts(str);
- exit(20);
- }
- exit(0);
- }
-
-
- void main(int argc, char *argv[])
- {
- BOOL running=TRUE;
- ULONG signal;
-
- if (!(MUIMasterBase=OpenLibrary(MUIMASTER_NAME,MUIMASTER_VMIN)))
- fail(NULL,"Failed to open "MUIMASTER_NAME".");
-
- myStartup();
-
- App=ApplicationObject,
- MUIA_Application_Title ,"FBase",
- MUIA_Application_Version ,"$VER: FBase 1.06 (09.07.94)",
- MUIA_Application_Copyright ,"c1994, Amit Fridman",
- MUIA_Application_Author ,"Amit Fridman",
- MUIA_Application_Description ,"Floppy contents database.",
- MUIA_Application_Base ,"FBASE",
- MUIA_HelpFile ,"PROGDIR:FBase.guide",
- MUIA_HelpNode ,"MAIN",
- SubWindow,WI_Main=WindowObject,
- MUIA_Window_ID ,MAKE_ID('M','A','I','N'),
- MUIA_Window_Title ,"FBase",
- MUIA_Window_Menu ,FBase_Menu,
- MUIA_HelpNode ,"MAIN_WINDOW",
- WindowContents,HGroup,
- Child,LV_Floppies=ListviewObject,
- MUIA_Listview_MultiSelect,TRUE,
- MUIA_Listview_List,ListObject,
- InputListFrame,
- MUIA_List_DisplayHook,&FloppyDisplayHook,
- MUIA_List_CompareHook,&FloppyCompareHook,
- End,
- MUIA_HorizWeight,90,
- End,
- Child,VGroup,
- Child,VGroup,
- GroupFrame,
- Child,BT_Read= KeyButtonH("Read",'r',"DO_READ"),
- End,
- Child,VSPACER(20),
- Child,VGroup,
- GroupFrame,
- Child,BT_View=KeyButtonH("View",'v',"DO_VIEW"),
- Child,BT_Edit=KeyButtonH("Edit",'e',"DO_EDIT"),
- Child,BT_Kill=KeyButtonH("Kill",'k',"DO_KILL"),
- End,
- Child,VSPACER(20),
- Child,VGroup,
- GroupFrame,
- Child,BT_Find=KeyButtonH("Find",'f',"DO_FIND"),
- Child,BT_Keys=KeyButtonH("Keys",'y',"DO_KEYS"),
- End,
- Child,VSPACER(60),
- Child,VGroup,
- GroupFrame,
- Child,CY_Disks=Cycle(CY_Labels),
- End,
- MUIA_HorizWeight,10,
- End,
- End,
- End,
- SubWindow,WI_Contents=WindowObject,
- MUIA_Window_ID ,MAKE_ID('C','N','T','S'),
- MUIA_Window_Title ,"Edit Window",
- MUIA_Window_Menu ,Contents_Menu,
- MUIA_Window_Width ,MUIV_Window_Width_MinMax(50),
- MUIA_HelpNode ,"FLOPPY_CONTENTS",
- WindowContents,HGroup,
- Child,LV_Contents=ListviewObject,
- MUIA_Listview_MultiSelect,TRUE,
- MUIA_Listview_List,ListObject,
- InputListFrame,
- MUIA_List_DisplayHook,&ContentsDisplayHook,
- MUIA_List_MultiTestHook,&ContentsMultiHook,
- MUIA_List_Format,"MAW=100,P=\33r",
- End,
- MUIA_HorizWeight,90,
- End,
- Child,VGroup,
- Child,VGroup,
- GroupFrame,
- Child,BT_Delete =KeyButtonH("Delete",'d',"DO_DELETE"),
- Child,BT_Rename =KeyButtonH("Rename",'r',"DO_RENAME"),
- Child,BT_Remark =KeyButtonH("Remark",'m',"DO_REMARK"),
- End,
- Child,VSpace(0),
- Child,VGroup,
- GroupFrame,
- Child,BT_RKeys =KeyButtonH("Keys",'k',"DO_RECORD_KEYS"),
- End,
- Child,VSpace(0),
- Child,VGroup,
- GroupFrame,
- Child,BT_ConOK =SimpleButton("OK"),
- Child,BT_ConCancel=SimpleButton("Cancel"),
- End,
- MUIA_HorizWeight,10,
- End,
- End,
- End,
- SubWindow,WI_View=WindowObject,
- MUIA_Window_ID ,MAKE_ID('V','I','E','W'),
- MUIA_Window_Title ,"View Window",
- MUIA_Window_Menu ,Contents_Menu,
- MUIA_Window_Width ,MUIV_Window_Width_MinMax(50),
- MUIA_HelpNode ,"FLOPPY_CONTENTS",
- WindowContents,HGroup,
- Child,LV_View=ListviewObject,
- MUIA_Listview_List,ListObject,
- InputListFrame,
- MUIA_List_DisplayHook,&ContentsDisplayHook,
- MUIA_List_Format,"MAW=100,P=\33r",
- End,
- End,
- End,
- End,
- SubWindow,WI_FileInfo=WindowObject,
- MUIA_Window_ID ,MAKE_ID('F','I','N','F'),
- MUIA_Window_Title ,"File Info",
- MUIA_Window_Menu ,FInfo_Menu,
- MUIA_Window_Width ,MUIV_Window_Width_MinMax(50),
- MUIA_HelpNode ,"FINFO_WINDOW",
- WindowContents,VGroup,
- Child,VGroup,
- GroupFrameT("General"),
- Child,TX_FileName=TextObject,MUIA_Text_Contents,NULL,End,
- Child,TX_FileSize=TextObject,MUIA_Text_Contents,NULL,End,
- Child,TX_FileRem =TextObject,MUIA_Text_Contents,NULL,End,
- End,
- Child,HGroup,
- GroupFrameT("Keys"),
- Child,LV_FileKeys=ListviewObject,
- MUIA_Listview_Input,FALSE,
- MUIA_Listview_List,ListObject,
- ReadListFrame,
- End,
- End,
- End,
- End,
- End,
- SubWindow,WI_Rename=WindowObject,
- MUIA_Window_ID ,MAKE_ID('R','E','N','M'),
- MUIA_Window_Title ,"Rename",
- MUIA_Window_Menu ,MUIV_Window_Menu_NoMenu,
- MUIA_Window_Width ,MUIV_Window_Width_MinMax(30),
- WindowContents,VGroup,
- Child,ST_Rename=String("",31),
- End,
- End,
- SubWindow,WI_Remark=WindowObject,
- MUIA_Window_ID ,MAKE_ID('R','E','M','K'),
- MUIA_Window_Title ,"Remark",
- MUIA_Window_Menu ,MUIV_Window_Menu_NoMenu,
- MUIA_Window_Width ,MUIV_Window_Width_MinMax(50),
- WindowContents,VGroup,
- Child,ST_Remark=String("",80),
- End,
- End,
- SubWindow,WI_Match=WindowObject,
- MUIA_Window_ID ,MAKE_ID('F','I','N','D'),
- MUIA_Window_Title ,"Find",
- MUIA_Window_Menu ,MUIV_Window_Menu_NoMenu,
- MUIA_Window_Width ,MUIV_Window_Width_MinMax(30),
- MUIA_HelpNode ,"FIND_WINDOW",
- WindowContents,VGroup,
- Child,ST_Match=String("",63),
- Child,HGroup,
- Child,VGroup,
- GroupFrameT("Flags"),
- Child,HGroup,
- Child,KeyLabel1(" Ignore Case",'c'),
- Child,CM_Case=KeyCheckMark(TRUE,'c'),
- End,
- Child,HGroup,
- Child,KeyLabel1("Include Dirs",'d'),
- Child,CM_Dirs=KeyCheckMark(FALSE,'d'),
- End,
- End,
- Child,HSpace(16),
- Child,VGroup,
- GroupFrameT("Keys"),
- Child,BT_KeySearch=KeyButtonH("Set Keys",'s',"SET_KEYS"),
- Child,HGroup,
- Child,KeyLabel1("Match Keys",'k'),
- Child,CM_Keys=KeyCheckMark(FALSE,'k'),
- End,
- Child,HGroup,
- Child,KeyLabel1(" And Keys",'a'),
- Child,CM_KeyAnd=KeyCheckMark(FALSE,'a'),
- End,
- End,
- End,
- Child,VSpace(8),
- Child,HGroup,
- MUIA_Group_SameWidth,TRUE,
- Child,BT_MatchOK =SimpleButton("OK"),
- Child,BT_MatchCancel=SimpleButton("CANCEL"),
- End,
- End,
- End,
- SubWindow,WI_Files=WindowObject,
- MUIA_Window_ID ,MAKE_ID('F','I','L','I'),
- MUIA_Window_Title ,"Find List",
- MUIA_Window_Menu ,Match_Menu,
- MUIA_Window_Width ,MUIV_Window_Width_MinMax(50),
- MUIA_HelpNode ,"FIND_LIST",
- WindowContents,LV_Files=ListviewObject,
- MUIA_Listview_List,ListObject,
- InputListFrame,
- MUIA_List_DisplayHook,&FilesDisplayHook,
- MUIA_List_Format,"MAW=100,P=\33r",
- End,
- End,
- End,
- SubWindow,WI_Keys=WindowObject,
- MUIA_Window_ID ,MAKE_ID('K','E','Y','S'),
- MUIA_Window_Title ,"Keys",
- MUIA_Window_Menu ,MUIV_Window_Menu_NoMenu,
- MUIA_Window_Width ,MUIV_Window_Width_MinMax(20),
- MUIA_HelpNode ,"KEYS_WINDOW",
- WindowContents,VGroup,
- Child,LV_Keys=ListviewObject,
- MUIA_Listview_List,ListObject,
- InputListFrame,
- End,
- End,
- Child,ST_KeyName=StringObject,
- StringFrame,
- MUIA_String_MaxLen,MAXKEYLEN-1,
- MUIA_String_Contents,"",
- End,
- Child,HGroup,
- Child,BT_KeysAdd=KeyButton("Add",'a'),
- Child,BT_KeysDel=KeyButton("Del",'d'),
- End,
- Child,VSpace(8),
- Child,HGroup,
- MUIA_Group_SameWidth,TRUE,
- Child,BT_KeysOK =SimpleButton("OK"),
- Child,BT_KeysCancel=SimpleButton("CANCEL"),
- End,
- End,
- End,
- SubWindow,WI_KeySearch=WindowObject,
- MUIA_Window_ID ,MAKE_ID('S','K','E','Y'),
- MUIA_Window_Title ,"Search Keys",
- MUIA_Window_Menu ,MUIV_Window_Menu_NoMenu,
- MUIA_Window_Width ,MUIV_Window_Width_MinMax(20),
- MUIA_HelpNode ,"SKEYS_WINDOW",
- WindowContents,HGroup,
- Child,VGroup,
- GroupFrameT("Key List"),
- Child,LV_KSSrc=ListviewObject,
- MUIA_Listview_MultiSelect,TRUE,
- MUIA_Listview_List,ListObject,
- InputListFrame,
- End,
- End,
- Child,BT_KSSToD=KeyButton("-->",'>'),
- End,
- Child,VGroup,
- GroupFrameT("Search on"),
- Child,LV_KSDest=ListviewObject,
- MUIA_Listview_MultiSelect,TRUE,
- MUIA_Listview_List,ListObject,
- InputListFrame,
- End,
- End,
- Child,BT_KSDToS=KeyButton("<--",'<'),
- End,
- End,
- End,
- SubWindow,WI_RecKeys=WindowObject,
- MUIA_Window_ID ,MAKE_ID('R','K','E','Y'),
- MUIA_Window_Title ,"Record Keys",
- MUIA_Window_Menu ,MUIV_Window_Menu_NoMenu,
- MUIA_Window_Width ,MUIV_Window_Width_MinMax(20),
- MUIA_HelpNode ,"RKEYS_WINDOW",
- WindowContents,VGroup,
- Child,HGroup,
- Child,VGroup,
- GroupFrameT("Key List"),
- Child,LV_RKSrc=ListviewObject,
- MUIA_Listview_MultiSelect,TRUE,
- MUIA_Listview_List,ListObject,
- InputListFrame,
- End,
- End,
- Child,BT_RKSToD=KeyButton("-->",'>'),
- End,
- Child,VGroup,
- GroupFrameT("Record Keys"),
- Child,LV_RKDest=ListviewObject,
- MUIA_Listview_MultiSelect,TRUE,
- MUIA_Listview_List,ListObject,
- InputListFrame,
- End,
- End,
- Child,BT_RKDToS=KeyButton("<--",'<'),
- End,
- End,
- Child,VSpace(8),
- Child,HGroup,
- MUIA_Group_SameWidth,TRUE,
- Child,BT_RKOK =SimpleButton("OK"),
- Child,BT_RKCancel=SimpleButton("CANCEL"),
- End,
- End,
- End,
- End;
-
- if (!App)
- fail(App,"failed to create application.");
-
- DoMethod(WI_Main,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,App,2,
- MUIM_Application_ReturnID,MUIV_Application_ReturnID_Quit);
- DoMethod(BT_Read,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_READ);
- DoMethod(BT_View,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_VIEW);
- DoMethod(BT_Edit,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_EDIT);
- DoMethod(BT_Kill,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_KILL);
- DoMethod(BT_Find,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_FIND);
- DoMethod(BT_Keys,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_KEYS);
- DoMethod(LV_Floppies,MUIM_Notify,MUIA_Listview_DoubleClick,TRUE,App,2,
- MUIM_Application_ReturnID,ID_VIEW);
-
- DoMethod(WI_Contents,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,App,2,
- MUIM_Application_ReturnID,ID_CONTENTS_CANCEL);
- DoMethod(BT_Delete,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_DELETE);
- DoMethod(BT_Rename,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_RENAME);
- DoMethod(BT_Remark,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_REMARK);
- DoMethod(BT_RKeys,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_RKEYS);
- DoMethod(BT_ConOK,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_CONTENTS_OK);
- DoMethod(BT_ConCancel,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_CONTENTS_CANCEL);
-
- DoMethod(WI_View,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,App,2,
- MUIM_Application_ReturnID,ID_VIEW_CANCEL);
- DoMethod(LV_View,MUIM_Notify,MUIA_Listview_DoubleClick,TRUE,App,2,
- MUIM_Application_ReturnID,ID_VIEW_SELECT);
-
- DoMethod(WI_FileInfo,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,App,2,
- MUIM_Application_ReturnID,ID_FINFO_CANCEL);
-
- DoMethod(WI_Rename,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,App,2,
- MUIM_Application_ReturnID,ID_RENAME_CANCEL);
- DoMethod(ST_Rename,MUIM_Notify,MUIA_String_Acknowledge,MUIV_EveryTime,
- App,2,MUIM_Application_ReturnID,ID_RENAME_OK);
-
- DoMethod(WI_Remark,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,App,2,
- MUIM_Application_ReturnID,ID_REMARK_CANCEL);
- DoMethod(ST_Remark,MUIM_Notify,MUIA_String_Acknowledge,MUIV_EveryTime,
- App,2,MUIM_Application_ReturnID,ID_REMARK_OK);
-
- DoMethod(WI_Match,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,App,2,
- MUIM_Application_ReturnID,ID_MATCH_CANCEL);
- DoMethod(ST_Match,MUIM_Notify,MUIA_String_Acknowledge,MUIV_EveryTime,
- WI_Match,3,MUIM_Set,MUIA_Window_ActiveObject,BT_MatchOK);
- DoMethod(BT_KeySearch,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_SET_KEYS);
- DoMethod(BT_MatchOK,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_MATCH_OK);
- DoMethod(BT_MatchCancel,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_MATCH_CANCEL);
-
- DoMethod(WI_Files,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,App,2,
- MUIM_Application_ReturnID,ID_FILES_CANCEL);
- DoMethod(LV_Files,MUIM_Notify,MUIA_Listview_DoubleClick,TRUE,App,2,
- MUIM_Application_ReturnID,ID_FILES_SELECT);
-
- DoMethod(WI_Keys,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,App,2,
- MUIM_Application_ReturnID,ID_KEYS_CANCEL);
- DoMethod(BT_KeysAdd,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_KEYS_ADD);
- DoMethod(BT_KeysDel,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_KEYS_DEL);
- DoMethod(ST_KeyName,MUIM_Notify,MUIA_String_Acknowledge,MUIV_EveryTime,
- App,2,MUIM_Application_ReturnID,ID_KEYS_NAME);
- DoMethod(LV_Keys,MUIM_Notify,MUIA_List_Active,MUIV_EveryTime,
- App,2,MUIM_Application_ReturnID,ID_KEYS_CHANGE);
- DoMethod(BT_KeysOK,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_KEYS_OK);
- DoMethod(BT_KeysCancel,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_KEYS_CANCEL);
-
- DoMethod(WI_KeySearch,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,App,2,
- MUIM_Application_ReturnID,ID_KS_CANCEL);
- DoMethod(BT_KSSToD,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_KS_STOD);
- DoMethod(BT_KSDToS,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_KS_DTOS);
-
- DoMethod(WI_RecKeys,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,App,2,
- MUIM_Application_ReturnID,ID_RK_CANCEL);
- DoMethod(BT_RKSToD,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_RK_STOD);
- DoMethod(BT_RKDToS,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_RK_DTOS);
- DoMethod(BT_RKOK,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_RK_OK);
- DoMethod(BT_RKCancel,MUIM_Notify,MUIA_Pressed,FALSE,App,2,
- MUIM_Application_ReturnID,ID_RK_CANCEL);
-
- DoMethod(WI_Main,MUIM_Window_SetCycleChain,LV_Floppies,BT_Read,
- BT_View,BT_Edit,BT_Kill,BT_Find,BT_Keys,CY_Disks,NULL);
- DoMethod(WI_Contents,MUIM_Window_SetCycleChain,LV_Contents,
- BT_Delete,BT_Rename,BT_Remark,BT_RKeys,
- BT_ConOK,BT_ConCancel,NULL);
- DoMethod(WI_View,MUIM_Window_SetCycleChain,LV_View,NULL);
- DoMethod(WI_Match,MUIM_Window_SetCycleChain,ST_Match,CM_Case,CM_Dirs,
- BT_KeySearch,CM_Keys,CM_KeyAnd,BT_MatchOK,BT_MatchCancel,NULL);
- DoMethod(WI_Files,MUIM_Window_SetCycleChain,LV_Files,NULL);
- DoMethod(WI_Keys,MUIM_Window_SetCycleChain,LV_Keys,ST_KeyName,
- BT_KeysAdd,BT_KeysDel,BT_KeysOK,BT_KeysCancel,NULL);
- DoMethod(WI_KeySearch,MUIM_Window_SetCycleChain,LV_KSSrc,BT_KSSToD,
- LV_KSDest,BT_KSDToS,NULL);
- DoMethod(WI_RecKeys,MUIM_Window_SetCycleChain,LV_RKSrc,BT_RKSToD,
- LV_RKDest,BT_RKDToS,BT_RKOK,BT_RKCancel,NULL);
-
- set(WI_Main,MUIA_Window_Open,TRUE);
-
- while (running) {
- switch (DoMethod(App,MUIM_Application_Input,&signal)) {
- case MUIV_Application_ReturnID_Quit:
- if ((DataChanged) && (FloppyList.lh_Head->ln_Succ)) {
- if (ConfirmQuit())
- running=FALSE;
- } else
- running=FALSE;
- break;
- case ID_NEW:
- DoNew();
- break;
- case ID_OPEN:
- DoLoad();
- break;
- case ID_SAVE:
- DoSave();
- break;
- case ID_SAVEAS:
- DoSaveAs();
- break;
- case ID_PRINT_ALL:
- DoPrintAll();
- break;
- case ID_PRINT_TITLES:
- DoPrintTitles();
- break;
- case ID_ABOUT:
- DoAbout();
- break;
- case ID_READ:
- DoReadFloppy();
- break;
- case ID_VIEW:
- DoViewFloppy();
- break;
- case ID_EDIT:
- DoEditFloppy();
- break;
- case ID_KILL:
- DoKillFloppy();
- break;
- case ID_FIND:
- DoFind();
- break;
- case ID_KEYS:
- DoKeys();
- break;
- case ID_DELETE:
- DoDeleteRecord();
- break;
- case ID_RENAME:
- DoRenameRecord();
- break;
- case ID_REMARK:
- DoRemark();
- break;
- case ID_RKEYS:
- DoRecordKeys();
- break;
- case ID_PRINT_CONTENTS:
- DoPrintContents();
- break;
- case ID_CONTENTS_OK:
- DoAddFloppy();
- break;
- case ID_CONTENTS_CANCEL:
- DoNoAddFloppy();
- break;
- case ID_VIEW_SELECT:
- DisplayFileInfo(WI_View,LV_View);
- break;
- case ID_VIEW_CANCEL:
- StopView();
- break;
- case ID_PRINT_FINFO:
- DoPrintFInfo();
- break;
- case ID_FINFO_CANCEL:
- StopFileInfo();
- break;
- case ID_RENAME_OK:
- DoNewName();
- break;
- case ID_RENAME_CANCEL:
- DoNoNewName();
- break;
- case ID_REMARK_OK:
- SetRemark();
- break;
- case ID_REMARK_CANCEL:
- StopRemark();
- break;
- case ID_SET_KEYS:
- DoKeySearch();
- break;
- case ID_PRINT_MATCH:
- DoPrintMatch();
- break;
- case ID_MATCH_OK:
- DoMatch();
- break;
- case ID_MATCH_CANCEL:
- DoNoMatch();
- break;
- case ID_FILES_SELECT:
- DisplayFileInfo(WI_Files,LV_Files);
- break;
- case ID_FILES_CANCEL:
- FileDispClose();
- break;
- case ID_KEYS_ADD:
- DoAddKey();
- break;
- case ID_KEYS_DEL:
- DoDelKey();
- break;
- case ID_KEYS_NAME:
- DoNameKey();
- break;
- case ID_KEYS_CHANGE:
- DoKeysChange();
- break;
- case ID_KEYS_OK:
- KeysAccept();
- break;
- case ID_KEYS_CANCEL:
- KeysClose();
- break;
- case ID_KS_STOD:
- KeySearchSToD();
- break;
- case ID_KS_DTOS:
- KeySearchDToS();
- break;
- case ID_KS_CANCEL:
- KeySearchClose();
- break;
- case ID_RK_STOD:
- RecordKeysSToD();
- break;
- case ID_RK_DTOS:
- RecordKeysDToS();
- break;
- case ID_RK_OK:
- RecordKeysAccept();
- break;
- case ID_RK_CANCEL:
- RecordKeysClose();
- break;
- }
- if (running && signal)
- Wait(signal);
- }
-
- myCleanup();
-
- fail(App,NULL);
- }
-